# Init #
[Global]
FallbackTheme=_fallback

[Common]
FirstAttractScreen=""

[ScreenInit]
ShowHeader=false
ShowFooter=false
TimerSeconds=5.5
PlayMusic=true
PrepareScreen="ScreenLogo"
NextScreen="ScreenLogo"
StartScreen=Branch.ArcadeStart()

[ScreenLogo]
ShowHeader=false
ShowFooter=false
PlayMusic=true
TimerSeconds=15.5
PrepareScreen=Branch.ArcadeStart()
NextScreen=Branch.ArcadeStart()
StartScreen=Branch.ArcadeStart()

[ScreenPrompt]
ShowHeader=false
ShowFooter=false

[ScreenCredits]
ShowHeader=false
ShowFooter=false
ShowHelp=false
ShowLogo=false
TimerSeconds=79

[SongManager]
# SSC: Determine what the ES/OMES Modifiers are
ExtraStagePlayerModifiers="m300,failimmediate,4 lives,battery"
ExtraStageStageModifiers=""
OMESPlayerModifiers="m400,failimmediate,1 lives,battery"
OMESStageModifiers=""

SongGroupColor1=BoostColor(Color("White"),1.2)
SongGroupColor2=BoostColor(Color("White"),1.25)
SongGroupColor3=BoostColor(Color("White"),1.25)
SongGroupColor4=BoostColor(Color("White"),1.25)
SongGroupColor5=BoostColor(Color("White"),1.25)
SongGroupColor6=BoostColor(Color("White"),1.25)
SongGroupColor7=BoostColor(Color("White"),1.25)
SongGroupColor8=BoostColor(Color("White"),1.25)
SongGroupColor9=BoostColor(Color("White"),1.25)
SongGroupColor10=BoostColor(Color("White"),1.25)

CourseGroupColor1=color("1,1,1,1")

[GameState]
LockExtraStageSelection=false
MinDifficultyForExtra="Difficulty_Beginner"
AllowLateJoin=false

[ScreenSystemLayer]
CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.6;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );diffusealpha,0;
CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.6;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );diffusealpha,0;

[CodeDetector]
PrevSteps1="MenuUp,MenuUp"
PrevSteps2="Up,Up"
NextSteps1="MenuDown,MenuDown"
NextSteps2="Down,Down"
CloseCurrentFolder="Select"
#Leave="@Down-Select" 

[ScreenWithMenuElements]
WaitForChildrenBeforeTweeningOut=true

ShowHeader=true
HeaderX=0
HeaderY=0
HeaderOnCommand=draworder,5;
HeaderOffCommand=

ShowFooter=true
FooterX=SCREEN_CENTER_X
FooterY=SCREEN_BOTTOM-20
FooterOnCommand=draworder,5;zoom,0.7;addy,50;smooth,0.5;addy,-50;
FooterOffCommand=sleep,0.2;smooth,0.4;addy,50;

TimerX=SCREEN_CENTER_X+290
TimerY=SCREEN_TOP+36
TimerOnCommand=draworder,10;zoom,0;
TimerOffCommand=smooth,0.4;addy,-165;

StageDisplayNumberOffset=1
ScreenInDelay=0
ScreenOutDelay=0

ShowHelp=true
HelpX=SCREEN_CENTER_X
HelpY=SCREEN_BOTTOM-16
HelpOnCommand=SetSecsBetweenSwitches,4;zoom,0.675;maxwidth,480/0.675;diffuse,color("#C4EEE4");draworder,105;addy,50;smooth,0.5;addy,-50;
HelpOffCommand=sleep,0.2;smooth,0.4;addy,50;

[OptionRowExit]
ColorSelected=Color("Red")
ColorNotSelected=color("#B0DEFF")
ColorDisabled=Color("Red")
ItemsMinBaseZoom=1
ItemOnCommand=zoom,0.7;uppercase,true;

[ScreenHowToPlay]
LifeMeterBarX=SCREEN_RIGHT-50
LifeMeterBarY=SCREEN_CENTER_Y-10
LifeMeterBarOnCommand=zoom,0.6;sleep,2.4;linear,0.2;
ShowFooter=false

[ScreenDemonstration]
NextScreen="ScreenInit"

[ScreenHighScores]
ShowFooter=false

[ScreenTitleMenu]
ScrollerY=SCREEN_CENTER_Y+174
ShowHeader=false
ShowFooter=false
ShowHelp=false
ShowLogo=false
ShowVersionInfo=false
ShowNetworkStatus=false
IdleTimeoutSeconds=30
IdleTimeoutScreen="ScreenHowToPlay"
ScreenOffCommand="stopmusic"

#
PerChoiceScrollElement=true
PerChoiceIconElement=false
ShowScroller=true
WrapScroller=false
LoopScroller=false
#
ChoiceNames="Start,Edit,Options,Exit"
DefaultChoice="Start"
#
ScrollerOnCommand=SetDrawByZPosition,true;fov,90;zoom,0;sleep,0.3;smooth,0.2;zoom,1.0;
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_BOTTOM-80
ScrollerTransform=function(self,offsetFromCenter,itemIndex,numItems) \
    self:x(offsetFromCenter * 0); \
end;
#
ChoiceStart="stopmusic;applydefaultoptions;text,Game Start;screen,"..Branch.StartGame()
ChoiceEdit="stopmusic;text,Edit/Share;screen,"..Branch.OptionsEdit()
ChoiceOptions="stopmusic;screen,ScreenOptionsService;text,Options"
ChoiceExit="stopmusic;screen,ScreenExit;text,Exit"
#
ScrollerSecondsPerItem=0.2
ShowIcon=false
ScreenOutDelay=1
#
ShowCurrentGametype=false
ShowLifeDifficulty=false
ShowTimingDifficulty=false
ShowSystemDirection=false
ShowNumSongs=false
#
ShowNetworkStatus=true
NetworkStatusX=SCREEN_LEFT+16
NetworkStatusY=SCREEN_TOP+64
NetworkStatusOnCommand=halign,0;
NetworkStatusOffCommand=linear,0.5;cropright,1

[ScreenTitleJoin]
Fallback="ScreenTitleMenu"
ShowScroller=false
IdleTimeoutSeconds=30
ScreenOffCommand="stopmusic"
IdleTimeoutScreen="ScreenHowToPlay"
ChoiceGameStart="stopmusic;applydefaultoptions;text,Game Start;screen,"..Branch.StartGame()

[ScreenSelectProfile]
PrevScreen="ScreenInit"

[ScreenProfileLoad]
ShowHeader=false
ShowFooter=false
ShowHelp=false

[ScreenProfileSave]
ShowHeader=false
ShowFooter=false
ShowHelp=false

[ScreenSelectStyle]
PerChoiceScrollElement=true
PerChoiceIconElement=false
ScrollerOnCommand=SetDrawByZPosition,true;y,SCREEN_CENTER_Y;fov,90;zoom,0.8;zoomx,0;sleep,0.2;smooth,0.3;zoomx,0.8
ScrollerOffCommand=
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y-SCREEN_HEIGHT+20
ScrollerTransform=function(self,offsetFromCenter,itemIndex,numItems) \
	self:x(offsetFromCenter * 0); \
end;
ShowScroller=true
WrapCursor=false
ShowIcon=false
ScrollerSecondsPerItem=0.15
ChoiceNames=AvailableStyles()
ChoiceVersus5="name,FiveKeysVersus;style,versus5;text,Versus5;screen,"..Branch.AfterSelectStyle()
ChoiceVersus7="name,SevenKeysVersus;style,versus7;text,Versus7;screen,"..Branch.AfterSelectStyle()

[ScreenSelectPlayMode]
NextScreen=Branch.MusicPhase()
PerChoiceScrollElement=true
PerChoiceIconElement=false
ScrollerOnCommand=SetDrawByZPosition,true;y,SCREEN_CENTER_Y;fov,90;zoom,0.8;zoomx,0;sleep,0.2;smooth,0.3;zoomx,0.8
ScrollerOffCommand=
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y
ScrollerTransform=function(self,offsetFromCenter,itemIndex,numItems) \
	self:y(offsetFromCenter * 0); \
end;
ShowScroller=true
WrapCursor=false
ShowIcon=false
ScrollerSecondsPerItem=0.15
ChoiceNames="Normal,Nonstop,Rave"
ChoiceNormal="stopmusic;applydefaultoptions;name,Normal;text,Normal;playmode,regular;difficulty,easy;screen,ScreenSelectMusic;setenv,sMode,Normal"
ChoiceNonstop="stopmusic;applydefaultoptions;name,Nonstop;text,Extended;playmode,nonstop;screen,ScreenSelectCourse;setenv,sMode,Nonstop"
ChoiceRave="stopmusic;applydefaultoptions;name,Rave;text,Rave;playmode,rave;screen,ScreenSelectMusic;setenv,sMode,Rave"

[ModIcon]
TextX=0
TextY=0
TextOnCommand=maxwidth,40;uppercase,true;shadowlength,0;diffuse,color("#f6ff00")
CropTextToWidth=50
StopWords="1X,default,NoMines,NoteSkins,Overhead,Off"

[ScreenOptionsSimple]
NumRowsShown=10
RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-120+29*offsetFromCenter) end
ExplanationTogetherOnCommand=strokecolor,color("#3F6033");zoom,0.6;shadowlength,0;wrapwidthpixels,800/0.75;cropright,1;linear,0.5;cropright,0

[ScreenOptions]
NumRowsShown=8
RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-120+32*offsetFromCenter) end
#
ShowExitRow=true
SeparateExitRow=true
SeparateExitRowY=SCREEN_CENTER_Y+135
#
ShowScrollBar=false
ScrollBarHeight=296
ScrollBarTime=0.2
ScrollBarX=SCREEN_CENTER_X+288
ScrollBarY=SCREEN_CENTER_Y+11
ContainerOnCommand=diffusealpha,0;sleep,0.3;linear,0.2;diffusealpha,1;
ContainerOffCommand=linear,0.2;diffusealpha,0;
CursorOnCommand=
#ShowExplanations=true
ExplanationP1X=SCREEN_CENTER_X-256-20
ExplanationP1Y=SCREEN_CENTER_Y+175
ExplanationP1OnCommand=shadowlength,1;wrapwidthpixels,256/0.6;zoom,0.3;halign,0;cropright,1;linear,0.5;cropright,0
ExplanationP1OffCommand=
ExplanationP2X=SCREEN_CENTER_X+256+20
ExplanationP2Y=SCREEN_CENTER_Y+175
ExplanationP2OnCommand=shadowlength,1;wrapwidthpixels,256/0.6;zoom,0.3;halign,1;cropright,1;linear,0.5;cropright,0
ExplanationP2OffCommand=
ExplanationTogetherX=SCREEN_CENTER_X
ExplanationTogetherY=SCREEN_CENTER_Y+166
ExplanationTogetherOnCommand=shadowlength,0;zoom,0.6;wrapwidthpixels,(SCREEN_WIDTH*0.9375)*1.25;cropright,1;linear,0.5;cropright,0
ExplanationTogetherOffCommand=stoptweening
#
LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.25;fadeleft,0.05;faderight,0.05;diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25");effectclock,'beat'
LineHighlightChangeCommand=linear,0.1;diffuse,Color("White");diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25")
LineHighlightChangeToExitCommand=linear,0.1;diffuse,Color("Red");diffuseshift;effectcolor2,color("1,0,0,0.5");effectcolor1,color("1,0,0,0.25")
#
LineHighlightP1OnCommand=diffuse,PlayerColor(PLAYER_1);diffusealpha,0.65;zoomtowidth,500;fadeleft,0.45;faderight,0.45;
LineHighlightP1ChangeCommand=finishtweening;diffusealpha,0.65;
LineHighlightP1ChangeToExitCommand=finishtweening;diffusealpha,0.15;
LineHighlightP2OnCommand=diffuse,PlayerColor(PLAYER_2);diffusealpha,0.65;zoomtowidth,500;fadeleft,0.45;faderight,0.45;
LineHighlightP2ChangeCommand=finishtweening;diffusealpha,0.65;
LineHighlightP2ChangeToExitCommand=finishtweening;diffusealpha,0.15;
#
CursorTweenSeconds=0.09

[OptionRow]
TitleX=SCREEN_CENTER_X-262
TitleGainFocusCommand=diffuse,color("#FFFFFF");
TitleLoseFocusCommand=diffuse,color("#888888");
TitleOnCommand=shadowlength,0;uppercase,true;wrapwidthpixels,SCREEN_WIDTH*0.3;zoom,0.4;vertspacing,15;horizalign,left;
ColorSelected=color("#FFFFFF")
ColorNotSelected=color("#888888")
ColorDisabled=color("0.25,0.25,0.25,1")
ItemsStartX=SCREEN_CENTER_X-145
ItemsEndX=SCREEN_CENTER_X+180
TweenSeconds=0.09

[OptionRowMiniMenu]
ColorSelected=color("#FFFFFF")
ColorNotSelected=color("#FFFFFF")
ColorDisabled=color("0.25,0.25,0.25,1")

[OptionRowService]
TitleGainFocusCommand=diffuse,color("#FFFFFF");
TitleLoseFocusCommand=diffuse,color("#888888");

[CourseWheel]
Fallback="MusicWheel"
ModeMenuChoiceNames="Nonstop,Oni"

[OniWheel]
Fallback="CourseWheel"

[ScreenOptionsTheme]
Fallback="ScreenOptionsServiceChild"
NextScreen="ScreenOptionsService"
PrevScreen="ScreenOptionsService"
LineNames="gSlim,gGoodCombo,gScore"
LinegGoodCombo="lua,ThemePrefRow('GreatContinuesCombo')"
LinegScore="lua,ThemePrefRow('GameplayShowScore')"
LinegSlim="lua,ThemePrefRow('GameplayMinimalUI')"

[ScreenOptionsService]
ShowHeader=true

LineNames="GameType,GraphicSound,KeyConfig,Arcade,InputOptions,SoundGraphics,Theme,Profiles,Network,Advanced,Reload,Credits,ChipCredits,Special"
LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options"
LineChipCredits="gamecommand;screen,ScreenEnding;name,Chip.Revolution Credits;stopmusic"
LineSpecial="gamecommand;screen,ScreenSpecial;name,Celebrate;stopmusic"
PrevScreen="ScreenInit"
NextScreen="ScreenInit"

[ScreenSelectGame]
PrevScreen="ScreenOptionsService"
NextScreen="ScreenOptionsService"

LineNames="Theme,Language,Announcer,Defaultnoteskin,Windowed,Game"
LineGame="conf,Game"
LineTheme="conf,Theme"
LineLanguage="conf,Language"
LineAnnouncer="conf,Announcer"
LineDefaultnoteskin="conf,DefaultNoteSkin"
LineWindowed="conf,Windowed"
LineRes="conf,DisplayResolution"
LineAspect="conf,DisplayAspectRatio"

[ScreenPlayerOptions]
LineNames="1,8,14,2,3A,3B,4,5,6,R1,R2,7,9,10,11,12,13,PT,16"
LinePT="lua,OptionRowProTiming()"

[ScreenMapControllers]
LinesVisible=14
DevicesY=SCREEN_TOP-40
DevicesOnCommand=vertalign,top;maxheight,92;zoom,0.4;draworder,5;strokecolor,color("0,0,0,1")
ListHeaderCenterOnCommand=x,SCREEN_CENTER_X;y,-6;zoom,0.5;shadowlength,1;ztest,true
MappedToOnCommand=diffuse,color("#808080");shadowlength,0;zoom,0.5;max_dimension_use_zoom,true;maxwidth,130
#########
# Music selection
#########

[ScreenSelectMusic]
CodeNames="Leave"
CodeLeave="@Down-Select"
ShowFooter=false
ShowHelp=false
MusicWheelX=SCREEN_CENTER_X
MusicWheelY=SCREEN_CENTER_Y-80
MusicWheelOnCommand=zoom,0.8;zoomtoheight,0;decelerate,0.6;zoomtoheight,0.8;
MusicWheelOffCommand=decelerate,0.3;zoomtoheight,0;
#
ShowSortOrder=false
SortOrderOnCommand=diffusealpha,0;sleep,3.2;linear,0.5;diffusealpha,1;
SampleMusicPreviewMode='SampleMusicPreviewMode_Normal'
HardCommentMeter=16
#
ShowStageDisplay=true
StageDisplayX=SCREEN_CENTER_X
StageDisplayY=SCREEN_CENTER_Y-175
StageDisplayOnCommand=stoptweening;diffuse,color("#FFFFFF");horizalign,center;zoomy,0;sleep,0.6;zoomx,0.7;decelerate,0.35;zoomy,0.7
StageDisplayOffCommand=smooth,0.1;zoomy,0;
StageDisplayUseShortString=false
#
BannerX=SCREEN_LEFT+155
BannerY=SCREEN_CENTER_Y+145
BannerOnCommand=visible,false
BannerOffCommand=
#
ShowDifficultyList=not GAMESTATE:IsCourseMode()
DifficultyListX=SCREEN_CENTER_X
DifficultyListY=SCREEN_CENTER_Y+55
DifficultyListOnCommand=zoomy,0.9;zoomx,0.9
DifficultyListOffCommand=zoomx,0.9;smooth,0.2;zoomx,0
#
DifficultyListTweenOnCommand=smooth,0.2;diffusealpha,1;
DifficultyListTweenOffCommand=smooth,0.2;diffusealpha,0;
#
ShowBPMDisplay=not GAMESTATE:IsCourseMode();
BPMDisplayX=SCREEN_CENTER_X-140
BPMDisplayY=SCREEN_CENTER_Y-165
BPMDisplayOnCommand=strokecolor,color("#000000");maxwidth,128;horizalign,center;zoomy,0;sleep,0.3;decelerate,0.4;zoomy,1
BPMDisplayOffCommand=linear,0.25;zoomy,0;
#
ShowSongTime=true
SongTimeX=SCREEN_CENTER_X+102
SongTimeY=SCREEN_CENTER_Y-165
SongTimeOnCommand=strokecolor,color("#000000");maxwidth,128;horizalign,center;zoomx,1;zoomy,0;sleep,0.3;decelerate,0.4;zoomy,1
SongTimeOffCommand=linear,0.25;zoomy,0;
SongTimeResetCommand=diffusetopedge,color("#5A292C");diffusebottomedge,color("#fb9c57");
SongTimeAutogenCommand=diffuse,Color("Blue");
#SongTimeLongCommand=diffuse,color("#528D38");
#SongTimeMarathonCommand=diffuse,Color("Red");

#ScoreP1X=SCREEN_LEFT+25
#ScoreP1Y=SCREEN_CENTER_Y+160
#ScoreP1OnCommand=rotationz,90;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );horizalign,center;zoomy,0;zoomx,0.7;sleep,0.5;smooth,0.2;zoomy,0.7
#ScoreP1OffCommand=decelerate,0.2;zoomy,0;

#ScoreP2X=SCREEN_RIGHT-20
#ScoreP2Y=SCREEN_CENTER_Y+160
#ScoreP2OnCommand=rotationz,90;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );horizalign,center;zoomy,0;zoomx,0.7;sleep,0.5;smooth,0.2;zoomy,0.7
#ScoreP2OffCommand=decelerate,0.2;zoomy,0;

ShowCourseContentsList=false
#
ShowSongOptions=true
SongOptionsX=SCREEN_CENTER_X
SongOptionsY=SCREEN_CENTER_Y
SongOptionsOnCommand=visible,false;draworder,1000;diffuse,color("#FCCD68");shadowlength,1;strokecolor,color("#302A1B")
SongOptionsOffCommand=
SongOptionsShowCommand=visible,true;diffusealpha,0;zoom,0;settext,THEME:GetString("ScreenSelectMusic","Press Start For Options");smooth,0.3;zoom,1.1;diffusealpha,1;
SongOptionsEnterCommand=uppercase,true;settext,THEME:GetString("ScreenSelectMusic","Entering Options");sleep,0.1;smooth,0.3;diffusealpha,0;
SongOptionsHideCommand=sleep,0.1;smooth,0.3;diffusealpha,0;

[ScreenE1SelectMusic]
Fallback="ScreenSelectMusic"
SampleMusicPreviewMode='SampleMusicPreviewMode_ScreenMusic'

[ScreenE2SelectMusic]
Fallback="ScreenSelectMusic"
SampleMusicPreviewMode='SampleMusicPreviewMode_ScreenMusic'

[BPMDisplay]
# Various commands for the BPMDisplay, ranging from no bpm, a non changing bpm,
# a bpm that changes, one that is 'random' ( boss songs ) and when a song is
# an es/omes!
SetNoBpmCommand=diffusetopedge,color("#777777");diffusebottomedge,color("#666666")
SetNormalCommand=diffusetopedge,color("#5A292C");diffusebottomedge,color("#fb9c57")
SetChangeCommand=diffusetopedge,color("#5A292C");diffusebottomedge,color("#fb5757")
SetRandomCommand=diffusetopedge,color("#5A292C");diffusebottomedge,color("#fb5757")
SetExtraCommand=diffusetopedge,color("#fb5757");diffusebottomedge,color("#9c4242")

[TextBannerCourse]
Fallback="TextBanner"
TitleOnCommand=horizalign,left;shadowlength,1;y,-7;zoom,0.8;maxwidth,360;
SubtitleOnCommand=visible,false
ArtistOnCommand=visible,false
ArtistPrependString=""
AfterSetCommand=visible,true;


[ScreenSelectCourse]
ShowHeader=false
ShowFooter=false
ShowHelp=false
ScoreP1X=157
ScoreP1Y=SCREEN_CENTER_Y+38
ScoreP1OnCommand=diffuse,ColorLightTone( PlayerColor(PLAYER_1) );horizalign,right;zoomy,0;sleep,3.2;zoomx,0.7;sleep,0.5;smooth,0.2;zoomy,0.7
ScoreP1OffCommand=decelerate,0.2;zoomy,0;

ScoreP2X=SCREEN_RIGHT-42
ScoreP2Y=SCREEN_CENTER_Y+38
ScoreP2OnCommand=diffuse,ColorLightTone( PlayerColor(PLAYER_2) );horizalign,right;zoomy,0;sleep,3.2;zoomx,0.7;sleep,0.5;smooth,0.2;zoomy,0.7
ScoreP2OffCommand=decelerate,0.2;zoomy,0;

ShowCourseContentsList=true
CourseContentsListX=SCREEN_CENTER_X-30
CourseContentsListY=SCREEN_CENTER_Y-50
CourseContentsListOnCommand=zoomx,0;sleep,3.2;decelerate,0.35;zoomx,1;draworder,20;
CourseContentsListOffCommand=decelerate,0.32;zoomx,0;

ShowSongTime=true
SongTimeX=SCREEN_CENTER_X+217
SongTimeY=SCREEN_CENTER_Y-40
SongTimeOnCommand=strokecolor,Color("Outline");finishtweening;maxwidth,128;diffusealpha,0;sleep,3.2;smooth,0.4;diffusealpha,1;
SongTimeOffCommand=decelerate,0.3;diffusealpha,0;
SongTimeResetCommand=diffuse,color("#FFFFFF");
SongTimeAutogenCommand=diffuse,Color("Blue");
SongTimeLongCommand=diffuse,color("#528D38");
SongTimeMarathonCommand=diffuse,Color("Red");
#
MusicWheelX=SCREEN_CENTER_X
MusicWheelY=SCREEN_CENTER_Y+130
MusicWheelOnCommand=zoom,0.8;diffusealpha,0;sleep,3.2;linear,0.5;diffusealpha,1;
MusicWheelOffCommand=linear,0.4;diffusealpha,0;
#
MusicWheelType=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "OniWheel" or "CourseWheel"
Codes=GAMESTATE:GetPlayMode() == 'PlayMode_Oni' and "CourseCodeDetector"
#
ShowDifficultyList=false
ShowCourseContentsList=true
ShowNumCourseSongs=true
#NumCourseSongsOnCommand=diffusealpha,0;sleep,3.2;diffusealpha,1;
#
UsePlayerSelectMenu=false
SelectMenuAvailable=false
#
ShowSortOrder=true
SongOptionsEnterCommand=uppercase,true;settext,THEME:GetString("ScreenSelectMusic","Entering Options");sleep,0.1;smooth,0.3;diffusealpha,0;sleep,0.5;
[OniCodeDetector]
Fallback="CodeDetector"

[StepsDisplayListRow]
# TODO: Make this use DifficultyList?
CapitalizeDifficultyNames=false
NumShownItems=5
ItemsSpacingY=36
MoveCommand=decelerate,0.2

FrameX=0

FrameSetCommand=%function(self,param) \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); \
	else \
		self:diffuse(color('1,1,1,1')); \
	end; \
end;
#
NumTicks=10
MaxTicks=10
#
ShowMeter=true
MeterX=0
MeterY=6.5
MeterOnCommand=zoom,0.8;
MeterSetCommand=%function(self,param) \
	if param.CustomDifficulty then \
		self:diffuse(color('#DDDDDD')); \
	end; \
	if param.Meter then \
		if param.Meter >= 16 then \
			if param.Meter >= 19 then \
				self:diffuse(color('#FF0000')); \
				self:textglowmode('TextGlowMode_Inner'); \
				self:glowshift(); \
			else \
				self:diffuse(color('#FF8888')); \
				self:textglowmode('TextGlowMode_Inner'); \
				self:glowshift(); \
			end; \
		else \
			self:stopeffect(); \
		end; \
	end; \
end;
#
ShowDescription=true
DescriptionX=0
DescriptionY=-8
DescriptionOnCommand=horizalign,center;zoom,0.60;maxwidth,148+8-20;uppercase,true;
DescriptionSetCommand=%function(self,param) \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
		self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
	if self:GetText() == "" then \
		self:settext("Custom"); \
	end; \
	if param.Meter then \
		if param.Meter >= 16 then \
			self:textglowmode('TextGlowMode_Inner'); \
			self:glowshift(); \
		else \
			self:stopeffect(); \
		end; \
	end; \
end;
#
ShowAutogen=true
AutogenX=0
AutogenY=0
#AutogenOnCommand=diffuseshift;effectcolor1,Colors.Alpha( Color("Green") , 0.5 );effectcolor2,ColorLightTone( Color("Green") );
AutogenOnCommand=blend,Blend.Add;diffuseshift;effectcolor1,color("#FFCC00FF");effectcolor2,color("#FFCC0088");
#
StepsTypeX=-64-8
StepsTypeY=0
StepsTypeOnCommand=
StepsTypeSetCommand=

[MusicWheel]
SwitchSeconds=0.05
HideActiveSectionTitle=false
LockedInitialVelocity=7

RouletteSwitchSeconds=0.04
RouletteSlowDownSwitches=5
LockedInitialVelocity=15

;ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*-120 ); self:y( offsetFromCenter*64 ); end
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	self:x(offsetFromCenter * 152); \
	self:zoom(0.85 - scale(math.abs(offsetFromCenter),0,numItems/0.1,0,0.6)); \
	end;
NumWheelItems=9

#SectionColor1=color("#FF194C")
#SectionColor2=color("#9EDBF9")
#SectionColor3=color("#D19FE3")
#SectionColor4=color("#FFC261")
#SectionColor5=color("#F3B6CF")
#SectionColor6=color("#FEE78F")
#SectionColor7=color("#DEE3E4")
#
SongRealExtraColor=Color("Red")
SortMenuColor=Color("Orange")
#
ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,Genre,Length,Recent"
#
HighlightOnCommand=zoom,0.51;
HighlightSortOnCommand=stoptweening;decelerate,0.05;glow,Color.Stealth;
HighlightSortOffCommand=stoptweening;accelerate,0.05;glow,Color.Yellow;
MusicWheelItemSortOnCommand=zoom,0;smooth,0.3;zoom,1
MusicWheelItemSortOffCommand=smooth,0.2;zoom,0
[MusicWheelItem]
Fallback=WheelItemBase
IconX=-136
IconY=0
IconOnCommand=
#
SectionExpandedX=150
SectionCollapsedX=150
SectionExpandedY=-8
SectionCollapsedY=-8
SectionCountX=150
SectionExpandedOnCommand=visible,false;
SectionCollapsedOnCommand=visible,false;
SectionCountOnCommand=diffusealpha,0;
#
WheelNotifyIconX=170
WheelNotifyIconY=0
WheelNotifyIconOnCommand=

[TextBanner]
TitleOnCommand=visible,false;zoom,0.8;
SubtitleOnCommand=visible,false;zoom,0.6;
ArtistOnCommand=visible,false;zoom,0.8;
ArtistPrependString=""
AfterSetCommand=visible,false;

[SongManager]
NumSongGroupColors=7
#
SongGroupColor1=color("#FF194C")
SongGroupColor2=color("#9EDBF9")
SongGroupColor3=color("#D19FE3")
SongGroupColor4=color("#FFC261")
SongGroupColor5=color("#F3B6CF")
SongGroupColor6=color("#FEE78F")
SongGroupColor7=color("#DEE3E4")

CourseGroupColor1=color("#FF194C")
ExtraColorMeter=18

[Course]
CoursePreferredColor=color("#8E8BC7")
SortLevel1Color=color("#8E8BC7")
SortLevel2Color=color("#7E7BB5")
SortLevel3Color=color("#6A67A1")
SortLevel4Color=color("#504D7D")

#########
# Gameplay
#########

[ScreenStageInformation]
ShowHeader=false
ShowFooter=false
NextScreen=Branch.GameplayScreen()
PrepareScreen="ScreenGameplay"
#
ForceTimer=true
TimerStealth=true
TimerMetricsGroup="MenuTimerNoSound"
WaitForChildrenBeforeTweeningOut=true
TimerSeconds=7

[ScreenCourseInformation]
Fallback="ScreenStageInformation"
TimerSeconds=8

[RollingNumbers]
Commify=false

[Gameplay]
# System Direction
ComboIsPerRow=true
MissComboIsPerRow=true
MinScoreToContinueCombo=ThemePrefs.Get("GreatContinuesCombo")
MinScoreToMaintainCombo=ThemePrefs.Get("GreatContinuesCombo")
MaxScoreToIncrementMissCombo='TapNoteScore_Miss'
MineHitIncrementsMissCombo=false
AvoidMineIncrementsCombo=false

[Player]
ReceptorArrowsYStandard=SetPlayerPos()
ReceptorArrowsYReverse=162
PercentUntilColorCombo=0
JudgmentTransformCommand=%function(self,param) if param.bReverse then self:y(60) else self:y(-20) end end
BattleRaveMirror=false

[Combo]
ShowComboAt=2
ShowMissesAt=100000
NumberMinZoom=1
NumberMaxZoom=1.25
NumberMaxZoomAt=250
LabelMinZoom=0.6
LabelMaxZoom=0.8

PulseCommand=%function(self,param) self:stoptweening(); self:diffusealpha(0.7); self:zoom(1.300*param.Zoom); self:linear(0.02); self:diffusealpha(1.0); self:zoom(param.Zoom); end
PulseLabelCommand=%function(self,param) self:stoptweening(); self:diffusealpha(0.7); self:zoom(1.300*param.LabelZoom); self:linear(0.02); self:diffusealpha(1.0); self:zoom(param.LabelZoom); end
NumberOnCommand=y,25;shadowlength,1;horizalign,center;vertalign,middle;x,0
LabelOnCommand=x,0;y,40;
ComboTransformCommand=%function(self,param) if param.bReverse then self:y(-140) end end

[ScreenGameplay]
ShowHeader=false
ShowFooter=false
# StepsDisplayP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1MiscX")
StepsDisplayP1OnCommand=visible,false;
StepsDisplayP2OnCommand=visible,false;
StepsDisplayP1Y=SCREEN_BOTTOM+999
StepsDisplayP2Y=SCREEN_BOTTOM+999
# StepsDisplayP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2MiscX")
#
ScoreP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1MiscX")
ScoreP1Y=SCREEN_BOTTOM+40
ScoreP1OnCommand=visible,ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_1);sleep,0.4;decelerate,0.3;y,SCREEN_BOTTOM-20;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_1
ScoreP1OffCommand=sleep,1.0;
ScoreP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2MiscX")
ScoreP2Y=SCREEN_BOTTOM+40
ScoreP2OnCommand=visible,ThemePrefs.Get("GameplayShowScore");diffuse,PlayerColor(PLAYER_2);sleep,0.4;decelerate,0.3;y,SCREEN_BOTTOM-20;hide_if,(GAMESTATE:GetCurrentStyle():GetStyleType() == "StyleType_TwoPlayersSharedSides") and GAMESTATE:GetMasterPlayerNumber() ~= PLAYER_2
ScoreP2OffCommand=sleep,1.0;
#


LifeP1X=Center1Player() and SCREEN_CENTER_X-200 or SCREEN_LEFT-50
LifeP1Y=SCREEN_CENTER_Y+10
LifeP1OnCommand=zoomy,0.5;zoomx,0.5;sleep,0.4;decelerate,0.3;addx,100;
LifeP1OffCommand=sleep,1.0;
LifeP2X=Center1Player() and SCREEN_CENTER_X+200 or SCREEN_RIGHT+50
LifeP2Y=SCREEN_CENTER_Y+10
LifeP2OnCommand=zoomy,0.5;zoomx,0.5;sleep,0.4;decelerate,0.3;addx,-100;
LifeP2OffCommand=sleep,1.0;
#
CombinedLifeX=SCREEN_CENTER_X
CombinedLifeY=SCREEN_TOP-46
CombinedLifeOnCommand=sleep,0.4;decelerate,0.3;addy,73;
CombinedLifeOffCommand=sleep,1.0;

ToastyDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1MiscX")
# ToastyDisplayP1X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1MiscX")
ToastyDisplayP1Y=SCREEN_CENTER_Y
ToastyDisplayP1OnCommand=visible,false
ToastyDisplayP1OffCommand=
#
ToastyDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2MiscX")
# ToastyDisplayP2X=(GAMESTATE:GetCurrentStyle():GetStyleType() == 'StyleType_OnePlayerTwoSides' or (PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1)) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2MiscX")
ToastyDisplayP2Y=SCREEN_CENTER_Y
ToastyDisplayP2OnCommand=visible,false
ToastyDisplayP2OffCommand=

PlayerP1MiscX=math.floor(scale((0.75/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP2MiscX=math.floor(scale((2.25/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP1OnePlayerOneSideX=math.floor(scale((0.75/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP2OnePlayerOneSideX=math.floor(scale((2.25/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP1TwoPlayersTwoSidesX=math.floor(scale((0.75/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
PlayerP2TwoPlayersTwoSidesX=math.floor(scale((2.25/3),0,1,SCREEN_LEFT,SCREEN_RIGHT))
#
StartGivesUp=true
GiveUpSeconds=1
SelectSkipsSong=false
StopCourseEarly=check_stop_course_early()

[ScoreDisplayRave]
MeterP1OnCommand=draworder,-1;texcoordvelocity,1,0
MeterP2OnCommand=draworder,-1;zoomx,-1;texcoordvelocity,1,0
LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125;
LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125;

[ScoreKeeperRave]
AttackDurationSeconds=6

[CombinedLifeMeterTug]
# We don't use it.
MeterWidth=512-8
MeterHeight=40

[ScoreDisplayNormal]
TextY=0
TextOnCommand=zoom,1;shadowlength,1;
TextOffCommand=

[ScoreDisplayPercentage Percent]
PercentP1OnCommand=shadowlength,1;strokecolor,Color.Outline
PercentP2OnCommand=shadowlength,1;strokecolor,Color.Outline
DancePointsP1OnCommand=shadowlength,1;strokecolor,Color.Outline
DancePointsP2OnCommand=shadowlength,1;strokecolor,Color.Outline

[ScoreDisplayOni]
TextOnCommand=zoom,1;shadowlength,1;
TextOffCommand=

[ScoreDisplayOni Numbers]
TextOnCommand=zoom,1;shadowlength,1;
TextOffCommand=


[StreamDisplay]
PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
    local fItemWidth = ( 300 / numItems ) \
    self:zoomtoheight(66); \
    self:zoomtowidth(426); \
	self:rotationz(-90); \
	self:y(SCREEN_CENTER_Y-242); \
end;
TextureCoordScaleX=1
NumPills=1

[LifeMeterBattery]
BatteryBlinkTime=0.5
MinScoreToKeepLife=ThemePrefs.Get("GreatContinuesCombo")
#
NumLivesP1OnCommand=diffusealpha,0;
NumLivesP2OnCommand=diffusealpha,0;
#
BatteryP1X=86
BatteryP1Y=-16
BatteryP2X=86
BatteryP2Y=-16

[LifeMeterBattery Percent]
Format=
PercentP1OnCommand=visible,false
PercentP2OnCommand=visible,false
DancePointsP1OnCommand=visible,false
DancePointsP2OnCommand=visible,false

[Judgment]
JudgmentOnCommand=
JudgmentW1Command=diffusealpha,0.5;zoom,0.9;smooth,0.1;zoom,0.7;diffusealpha,1;glowblink;effectperiod,0.075;effectcolor1,color("1,1,1,0.3");effectcolor2,color("1,1,1,0");sleep,0.3;smooth,0.2;diffusealpha,0;zoomx,0.8;zoomy,0.8
JudgmentW2Command=diffusealpha,0.5;zoom,0.9;smooth,0.1;zoom,0.7;diffusealpha,1;sleep,0.3;smooth,0.2;diffusealpha,0;zoomx,0.8;zoomy,0.8
JudgmentW3Command=diffusealpha,0.5;zoom,0.9;smooth,0.1;zoom,0.7;diffusealpha,1;sleep,0.3;smooth,0.2;diffusealpha,0;zoomx,0.8;zoomy,0.8
JudgmentW4Command=diffusealpha,0.5;zoom,0.9;smooth,0.1;zoom,0.7;diffusealpha,1;sleep,0.3;smooth,0.2;diffusealpha,0;zoomx,0.8;zoomy,0.8
JudgmentW5Command=diffusealpha,0.5;zoom,0.9;smooth,0.1;zoom,0.7;diffusealpha,1;sleep,0.3;smooth,0.2;diffusealpha,0;zoomx,0.8;zoomy,0.8
JudgmentMissCommand=diffusealpha,0.3;zoomx,1.2;zoomy,1.1;smooth,0.1;zoom,0.7;diffusealpha,1;sleep,0.4;smooth,0.2;diffusealpha,0;zoomx,0.8;zoomy,0.8

[HoldJudgment]
HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.04;zoom,1;sleep,1.0;smooth,0.2;diffusealpha,0;sleep,0.1
HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.04;zoom,1;sleep,0.8;smooth,0.2;diffusealpha,0;sleep,0.1

[Protiming]
ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");textglowmode,"TextGlowMode_Inner";
AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");textglowmode,"TextGlowMode_Inner";
TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");textglowmode,"TextGlowMode_Inner";
#
ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible");
ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible");
#
AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0;
TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0;

[CustomDifficulty]
Names=DDR1,DDR2,DDR3,DDR4,DDR5,ITG1,ITG2,ITG3,ITG4,ITG5	
#
DDR1Difficulty="BeginnerDDR"
DDR2Difficulty="BasicDDR"
DDR3Difficulty="DifficultDDR"
DDR4Difficulty="ExpertDDR"
DDR5Difficulty="ChallengeDDR"
ITG1Difficulty="BeginnerITG"
ITG2Difficulty="EasyITG"
ITG3Difficulty="MediumITG"
ITG4Difficulty="HardITG"
ITG5Difficulty="ChallengeITG"
DDR1String="BEGINNER"
DDR2String="BASIC"
DDR3String="DIFFICULT"
DDR4String="EXPERT"
DDR5String="CHALLENGE"
ITG1String="NOVICE"
ITG2String="EASY"
ITG3String="MEDIUM"
ITG4String="HARD"
ITG5String="EXPERT"

[StepsDisplay]
ShowDescription=true
DescriptionX=0
DescriptionY=-2
ShowMeter=false
MeterX=46
MeterY=0
DescriptionOnCommand=uppercase,true;zoom,1
DescriptionSetCommand=%function(self,param) \
	if self:GetText() == "" then \
		self:settext("Edit"); \
	end; \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); \
		self:strokecolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \
	end; \
end;
MeterSetCommand=%function(self,param) if param.CustomDifficulty then self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); end end
MeterOnCommand=zoom,0.8

[StepsDisplayEvaluation]
Fallback="StepsDisplay"
ShowMeter=false
DescriptionX=0
DescriptionOnCommand=uppercase,false;
DescriptionSetCommand=%function(self,param) \
	if self:GetText() == "" then \
		self:settext("Edit"); \
	end; \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); \
	end; \
end;

[ScreenEvaluation]
ShowHeader=true
PlayMusic=false
ShowGradeArea=false
ShowStepsDisplay=false
WaitForChildrenBeforeTweeningOut=false
#
GradeP1X=SCREEN_LEFT+115
GradeP1Y=SCREEN_TOP+150
GradeP1OnCommand=zoom,0;sleep,1.2;decelerate,0.2;zoom,1.0;
GradeP1OffCommand=smooth,0.2;zoomx,0;
GradeP2X=SCREEN_RIGHT-115
GradeP2Y=SCREEN_TOP+150
GradeP2OnCommand=zoom,0;sleep,1.2;decelerate,0.2;zoom,1.0;
GradeP2OffCommand=smooth,0.2;zoomx,0;
#
GradeFrameP1X=SCREEN_LEFT+70
GradeFrameP1Y=SCREEN_TOP+80
GradeFrameP1OnCommand=
GradeFrameP1OffCommand=
GradeFrameP2X=SCREEN_RIGHT-70
GradeFrameP2Y=SCREEN_TOP+80
GradeFrameP2OnCommand=
GradeFrameP2OffCommand=
#
PlayerOptionsP1X=SCREEN_LEFT+116
PlayerOptionsP1Y=SCREEN_TOP+397
PlayerOptionsP1OnCommand=visible,false
PlayerOptionsP1OffCommand=
PlayerOptionsP2X=SCREEN_RIGHT-116
PlayerOptionsP2Y=SCREEN_TOP+397
PlayerOptionsP2OnCommand=visible,false
PlayerOptionsP2OffCommand=
#
ShowStepsDisplayP1=false
StepsDisplayP1X=SCREEN_LEFT+114
StepsDisplayP1Y=SCREEN_CENTER_Y-130
StepsDisplayP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP1");zoom,.6;
StepsDisplayP1OffCommand=sleep,0.2;diffusealpha,0
#
ShowStepsDisplayP2=false
StepsDisplayP2X=SCREEN_RIGHT-114
StepsDisplayP2Y=SCREEN_CENTER_Y-130
StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");zoom,.6;
StepsDisplayP2OffCommand=sleep,0.2;diffusealpha,0
#
LargeBannerX=SCREEN_CENTER_X
LargeBannerY=SCREEN_BOTTOM-80
LargeBannerOnCommand=visible,false
LargeBannerOffCommand=smooth,0.2;zoomx,0;
LargeBannerFrameX=SCREEN_CENTER_X
LargeBannerFrameY=SCREEN_BOTTOM-80
LargeBannerFrameOnCommand=visible,false
LargeBannerFrameOffCommand=smooth,0.2;zoomx,0;

[ScreenEvaluationNormal]
Fallback="ScreenEvaluation"

[ScreenEvaluationSummary]
Fallback="ScreenEvaluation"
ShowHeader=false
#
NextScreen=Branch.AfterSummary()
#
PlayMusic=false
#
Summary=true
#
ShowStageDisplay=false
#
SmallBanner1X=SCREEN_CENTER_X
SmallBanner1Y=SCREEN_BOTTOM-370
SmallBanner1OnCommand=zoom,0.6;zoomy,0;smooth,0.2;zoomy,0.6;
SmallBanner1OffCommand=smooth,0.2;zoomy,0;

SmallBanner2X=SCREEN_CENTER_X
SmallBanner2Y=SCREEN_BOTTOM-370+60
SmallBanner2OnCommand=zoom,0.6;zoomy,0;sleep,0.1;smooth,0.2;zoomy,0.6;
SmallBanner2OffCommand=sleep,0.1;smooth,0.2;zoomy,0;

SmallBanner3X=SCREEN_CENTER_X
SmallBanner3Y=SCREEN_BOTTOM-370+120
SmallBanner3OnCommand=zoom,0.6;zoomy,0;sleep,0.2;smooth,0.2;zoomy,0.6;
SmallBanner3OffCommand=sleep,0.2;smooth,0.2;zoomy,0;

SmallBanner4X=SCREEN_CENTER_X
SmallBanner4Y=SCREEN_BOTTOM-370+180
SmallBanner4OnCommand=zoom,0.6;zoomy,0;sleep,0.3;smooth,0.2;zoomy,0.6;
SmallBanner4OffCommand=sleep,0.3;smooth,0.2;zoomy,0;

SmallBanner5X=SCREEN_CENTER_X
SmallBanner5Y=SCREEN_BOTTOM-370+240
SmallBanner5OnCommand=zoom,0.6;zoomy,0;sleep,0.4;smooth,0.2;zoomy,0.6;
SmallBanner5OfCommand=sleep,0.4;smooth,0.2;zoomy,0;

SmallBanner6X=SCREEN_CENTER_X
SmallBanner6Y=SCREEN_BOTTOM-370+300
SmallBanner6OnCommand=zoom,0.6;zoomy,0;sleep,0.5;smooth,0.2;zoomy,0.6;
SmallBanner6OffCommand=sleep,0.5;smooth,0.2;zoomy,0;
#

######
#  Edit mode
######
[TextBannerEditMode]
TitleOnCommand=horizalign,left;shadowlength,1;y,-11;zoom,0.9;maxwidth,350;
SubtitleOnCommand=horizalign,left;shadowlength,1;zoom,0.6;y,5;maxwidth,350;
ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2;zoom,0.6;y,17;maxwidth,350;
ArtistPrependString=""
AfterSetCommand=visible,true;

[ScreenMiniMenu]
Class="ScreenMiniMenu"
Fallback="ScreenOptions"
PrevScreen=
TimerSeconds=-1
AllowRepeatingChangeValueInput=true
#
ShowHelp=false
ShowExplanations=false
ShowExitRow=false
ShowStyleIcon=false
ShowFooter=false
#
HeaderX=SCREEN_CENTER_X
HeaderY=SCREEN_TOP+40
HeaderOnCommand=visible,false
HeaderOffCommand=
#
OptionRowNormalMetricsGroup="OptionRowMiniMenu"
NumRowsShown=11
RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-130+24*offsetFromCenter) end
ColorDisabled=color("0.8,0.8,0.8,0.975")
#
ContainerOnCommand=x,-SCREEN_WIDTH;smooth,0.3;x,SCREEN_LEFT
ContainerOffCommand=smooth,0.35;x,SCREEN_RIGHT
CursorOnCommand=visible,false
#
LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375

[OptionRowMiniMenu]
Fallback="OptionRow"
TitleOnCommand=shadowlength,0;uppercase,true;halign,0;zoom,0.6;addx,-40
ItemsLongRowP1X=SCREEN_CENTER_X-240
ItemsLongRowP2X=SCREEN_CENTER_X+240
ItemsLongRowSharedX=SCREEN_CENTER_X+160
ItemOnCommand=zoom,0.6375

[ScreenEditOptions]
ShowHeader=false
ShowFooter=false
ShowHelp=false

[ScreenTextEntry]
ShowHeader=false
ShowFooter=false
ShowHelp=false
QuestionOnCommand=diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);wrapwidthpixels,600
AnswerOnCommand=diffuse,Color("Blue");glowshift;

[ScreenPrompt]
QuestionOffCommand=smooth,0.2;diffusealpha,0;
CursorOffCommand=smooth,0.2;diffusealpha,0;

[ScreenEdit]
ShowHeader=false
ShowFooter=false

[ScreenMiniMenuMainMenu]
ShowHeader=false
ShowFooter=false


[ScreenGameOver]
ShowHeader=false
ShowFooter=false
ForceTimer=true
TimerStealth=true
TimerMetricsGroup="MenuTimerNoSound"
WaitForChildrenBeforeTweeningOut=true
TimerSeconds=4.1
NextScreen="ScreenInit"

[ScreenEnding]
Fallback="ScreenGameOver"
TimerSeconds=70.2
NextScreen="ScreenInit"

[ScreenSpecial]
Fallback="ScreenGameOver"
TimerSeconds=70.2
NextScreen="ScreenInit"

###############
# Online!
###############
[ScreenNetSelectBase]
Class="ScreenNetSelectBase"
Fallback="ScreenWithMenuElements"

ChatInputBoxX=SCREEN_CENTER_X*0.5
ChatInputBoxY=SCREEN_CENTER_Y-200
ChatInputBoxOnCommand=bounceend,0.5;diffusealpha,1;
ChatInputBoxOffCommand=bouncebegin,0.5;zoomy,0
ChatInputBoxWidth=SCREEN_CENTER_X*0.9
ChatInputBoxHeight=64
#--#
ChatInputX=(SCREEN_CENTER_X*0.5)*0.125
ChatInputY=SCREEN_CENTER_Y+90
ChatTextInputWidth=SCREEN_CENTER_X*1.8
ChatInputOnCommand=halign,0;valign,0;zoom,0.5;diffusealpha,0;linear,0.55;diffusealpha,1
ChatInputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0
#
UsersOnCommand=draworder,2;zoom,1;strokecolor,color("#000000");zoom,0.7

[ScreenNetSelectMusic]
SampleMusicPreviewMode='SampleMusicPreviewMode_Normal'
SampleMusicLoops=true

MusicWheelX=SCREEN_CENTER_X+190
MusicWheelY=SCREEN_CENTER_Y-87
MusicWheelOnCommand=draworder,-50;zoomy,0;smooth,0.4;zoomy,1.0
MusicWheelOffCommand=smooth,0.4;zoomy,0;
####
ShowBPMDisplay=not GAMESTATE:IsCourseMode();
BPMDisplayX=SCREEN_CENTER_X+243
BPMDisplayY=SCREEN_CENTER_Y+74
BPMDisplayOnCommand=finishtweening;strokecolor,color("#000000");maxwidth,128;horizalign,left;zoomx,0;decelerate,0.35;zoomx,1
BPMDisplayOffCommand=linear,0.25;zoomy,0;

ShowDifficultyList=not GAMESTATE:IsCourseMode()
DifficultyListX=SCREEN_CENTER_X-13
DifficultyListY=SCREEN_CENTER_Y+78
DifficultyListOnCommand=rotationz,-90;zoomx,0;smooth,0.2;zoomx,1
DifficultyListOffCommand=zoomx,1;smooth,0.2;zoomx,0
#
DifficultyListTweenOnCommand=zoom,1;
DifficultyListTweenOffCommand=zoom,1;
#
ShowGrooveRadar=false
ShowStageDisplay=false
ShowSongTime=false
ShowSortOrder=false
#
StepsDisplayP1OnCommand=zoomy,0;
StepsDisplayP2OnCommand=zoomy,0;
#
ShowDifficultyDisplay=false
#
optionsX=SCREEN_CENTER_X+60
optionsY=SCREEN_TOP+38
optionsOnCommand=visible,false
optionsOffCommand=linear,0.5;zoomx,0.0;zoomy,0.0
#
UsersX=SCREEN_CENTER_X-100
UsersY=SCREEN_CENTER_Y+160
#
ChatInputX=(SCREEN_CENTER_X*0.5)*0.125
ChatInputY=SCREEN_CENTER_Y+22
ChatTextInputWidth=SCREEN_CENTER_X*1.4
ChatInputOnCommand=halign,0;valign,0;zoom,0.5;diffusealpha,0;linear,0.55;diffusealpha,1
ChatInputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0
#
ChatOutputX=(SCREEN_CENTER_X*0.5)*0.125
ChatOutputY=SCREEN_CENTER_Y+10
ChatTextOutputWidth=SCREEN_CENTER_X*1.4
ChatOutputLines=14
ChatOutputOnCommand=halign,0;valign,1;zoom,0.5;diffusealpha,0;linear,0.55;diffusealpha,1
ChatOutputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0
[OnlineMusicWheel]
Fallback="MusicWheel"
# roulette + online causes a sorting issue that should be hammered out first. -aj
ShowRoulette=false
ShowRandom=false
ShowPortal=false
NumWheelItems=3

[RoomWheel]
Fallback="MusicWheel"
RoomWheelItemStartOnCommand=
RoomWheelItemFinishOnCommand=
CreateRoomColor=color("0.0,0.9,0.25,1.0")
ScrollBarOnCommand=visible,false
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*54 ); self:y( offsetFromCenter*56 ); end
NumWheelItems=12
HighlightOnCommand=zoom,1.0;

[ScreenNetRoom]
RoomInfoDisplayX=SCREEN_CENTER_X-160
RoomInfoDisplayY=SCREEN_CENTER_Y+500

[RoomWheelItem]
TextX=-110
TextY=-8
TextOnCommand=halign,0;zoom,0.8;maxwidth,200;strokecolor,color("#000000FF");

DescriptionX=-110
DescriptionY=6
DescriptionOnCommand=halign,0;zoom,0.6;maxwidth,400;strokecolor,color("#000000FF")

[RoomInfoDisplay]
RoomInfoDisplayOnCommand=diffuse,color("1.0,1.0,1.0,1");
RoomInfoDisplayOffCommand=smooth,0.2;zoomy,0;
DeployDelay=1.5
RetractDelay=5
RoomTitleOnCommand=x,-120;y,-140;zoom,0.75;strokecolor,color("#000000");
RoomDescOnCommand=x,-120;y,-129;zoom,0.75;strokecolor,color("#000000");
LastRoundOnCommand=x,-120;y,-107;zoom,0.75;strokecolor,color("#000000");
SongTitleOnCommand=x,-110;y,-96;zoom,0.75;strokecolor,color("#000000");
SongSubTitleOnCommand=x,-110;y,-85;zoom,0.75;strokecolor,color("#000000");
SongArtistOnCommand=x,-110;y,-74;zoom,0.75;strokecolor,color("#000000");
PlayersOnCommand=x,-120;y,-52;zoom,0.75;strokecolor,color("#000000");
PlayerListElementX=-110
PlayerListElementY=-41
PlayerListElementOffsetX=0
PlayerListElementOffsetY=11
PlayerListElementOnCommand=zoom,0.75

[ScreenNetEvaluation]
ShowJudgmentLineW1=true
ShowJudgmentLineW2=true
ShowJudgmentLineW3=true
ShowJudgmentLineW4=true
ShowJudgmentLineW5=true
ShowJudgmentLineHeld=true
ShowJudgmentLineMiss=true
ShowJudgmentLineMaxCombo=true
ShowScoreArea=true

W1NumberP1X=SCREEN_RIGHT-190
W1NumberP1Y=SCREEN_TOP+210
W1NumberP1OnCommand=diffuse,color("#FAB7CE");strokecolor,color("#326CB4");horizalign,right;
W1NumberP1OffCommand=smooth,0.2;zoomx,0;

W1LabelX=SCREEN_CENTER_X
W1LabelY=SCREEN_TOP+210
W1LabelOnCommand=
W1LabelOffCommand=
#
W2NumberP1X=SCREEN_RIGHT-190
W2NumberP1Y=SCREEN_TOP+230
W2NumberP1OnCommand=diffuse,color("#A3E4E8");strokecolor,color("#326CB4");horizalign,right;
W2NumberP1OffCommand=smooth,0.2;zoomx,0;

W2LabelX=SCREEN_CENTER_X
W2LabelY=SCREEN_TOP+230
W2LabelOnCommand=
W2LabelOffCommand=
#
W3NumberP1X=SCREEN_RIGHT-190
W3NumberP1Y=SCREEN_TOP+250
W3NumberP1OnCommand=diffuse,color("#D1EA80");strokecolor,color("#326CB4");horizalign,right;
W3NumberP1OffCommand=smooth,0.2;zoomx,0;

W3LabelX=SCREEN_CENTER_X
W3LabelY=SCREEN_TOP+250
W3LabelOnCommand=
W3LabelOffCommand=
#
W4NumberP1X=SCREEN_RIGHT-190
W4NumberP1Y=SCREEN_TOP+270
W4NumberP1OnCommand=diffuse,color("#DFDEED");strokecolor,color("#326CB4");horizalign,right;
W4NumberP1OffCommand=smooth,0.2;zoomx,0;

W4LabelX=SCREEN_CENTER_X
W4LabelY=SCREEN_TOP+270
W4LabelOnCommand=
W4LabelOffCommand=
#
W5NumberP1X=SCREEN_RIGHT-190
W5NumberP1Y=SCREEN_TOP+290
W5NumberP1OnCommand=diffuse,color("#832F4D");strokecolor,color("#326CB4");horizalign,right;
W5NumberP1OffCommand=smooth,0.2;zoomx,0;

W5LabelX=SCREEN_CENTER_X
W5LabelY=SCREEN_TOP+290
W5LabelOnCommand=
W5LabelOffCommand=
#
MissNumberP1X=SCREEN_RIGHT-190
MissNumberP1Y=SCREEN_TOP+310
MissNumberP1OnCommand=diffuse,color("#ff3c3c");strokecolor,color("#326CB4");horizalign,right;
MissNumberP1OffCommand=smooth,0.2;zoomx,0;

MissLabelX=SCREEN_CENTER_X
MissLabelY=SCREEN_TOP+310
MissLabelOnCommand=
MissLabelOffCommand=

HeldNumberP1X=SCREEN_RIGHT-190
HeldNumberP1Y=SCREEN_TOP+330
HeldNumberP1OnCommand=diffuse,color("#FFFFFF");strokecolor,color("#326CB4");horizalign,right;
HeldNumberP1OffCommand=smooth,0.2;zoomx,0;

HeldLabelX=SCREEN_CENTER_X
HeldLabelY=SCREEN_TOP+330
HeldLabelOnCommand=
HeldLabelOffCommand=

MaxComboNumberP1X=SCREEN_RIGHT-190
MaxComboNumberP1Y=SCREEN_TOP+350
MaxComboNumberP1OnCommand=diffuse,color("#FFFFFF");strokecolor,color("#326CB4");horizalign,right;
MaxComboNumberP1OffCommand=smooth,0.2;zoomx,0;
MaxComboLabelX=SCREEN_CENTER_X
MaxComboLabelY=SCREEN_TOP+350
MaxComboLabelOnCommand=
MaxComboLabelOffCommand=
#
ScoreLabelX=SCREEN_CENTER_X
ScoreLabelY=SCREEN_TOP+390
ScoreLabelOnCommand=
ScoreLabelOffCommand=
#
ScoreNumberP1X=SCREEN_RIGHT-190
ScoreNumberP1Y=SCREEN_TOP+376
ScoreNumberP1OnCommand=diffuse,color("#FFFFFF");strokecolor,color("#326CB4");horizalign,right;
ScoreNumberP1OffCommand=smooth,0.2;zoomx,0;
ScoreNumberP2X=SCREEN_RIGHT-134
ScoreNumberP2Y=SCREEN_TOP+376
ScoreNumberP2OnCommand=diffuse,color("#FFFFFF");strokecolor,color("#B63084");horizalign,right;
ScoreNumberP2OffCommand=smooth,0.2;zoomx,0;
#
UsersBGOnCommand=diffusealpha,0;
#
User1X=SCREEN_CENTER_X*0.37
User1Y=SCREEN_CENTER_Y
User1OnCommand=
User1OffCommand=